﻿#define  _CRT_SECURE_NO_WARNINGS 1
//printf() 的作⽤是将参数⽂本输出到屏幕。它名字⾥⾯的 f 代表 format （格式化），表⽰可以
//定制输出⽂本的格式。
// printf()不会在行尾自动添加换行符，运行结束后，光标会停留在输出结束的地方，不会自动换行
// 为了让光标移动到下一行开头，可以在输出文本的末尾，添加一个换行符\n

#include <stdio.h>
//int main()
//{
//	printf("hello world\n");
//	printf("hello\nworld");
//	return 0;
//}

//printf() 可以在输出⽂本中指定占位符。
//所谓 “占位符”，就是这个位置可以⽤其他值代⼊

//占位符的第⼀个字符⼀律为百分号% ，第⼆个字符表⽰占位符的类型，% d 表⽰这
//⾥代⼊的值必须是⼀个整数

//printf() 参数与占位符是⼀⼀对应关系，如果有 n 个占位符， printf() 的参数就应该有 n +
//1 个。如果参数个数少于对应的占位符， printf() 可能会输出内存中的任意值。


//int main()
//{
//	printf("%d", 100);
//	return 0;
//}

// %c - 字符   %d - 十进制整数   %s - 字符串   %f - 小数（包含float和double）float-%f  double - %lf
// %hd - 十进制的short int 类型

//int main()
//{
//	printf("%s%d", "我是",15);
//	return 0;
//}

//printf() 允许限定占位符的最⼩宽度。

//int main()
//{
//	printf("%5d\n", 123); // 限定最小宽度5  最少输出五位
//	printf("%-5d\n", 123); // 限定最小宽度5  最少输出五位
//	printf("%5d", 123456); // 限定最小宽度5  最少输出五位 超过就不用管
//	return 0;
//}
//上⾯⽰例中， % 5d 表⽰这个占位符的宽度⾄少为5位。如果不满5位，对应的值的前⾯会添加空格。
//输出的值默认是右对⻬，即输出内容前⾯会有空格；如果希望改成左对⻬，在输出内容后⾯添加空
//格，可以在占位符的 % 的后⾯插⼊⼀个 - 号。

//对于⼩数，这个限定符会限制所有数字的最⼩显⽰宽度。
//%12f 表⽰输出的浮点数最少要占据12位。由于⼩数的默认显⽰精度是⼩数点后6位，
//所以 123.45 输出结果的头部会添加2个空格。
//int main()
//{
//	printf("%lf\n", 123.45);
//	printf("%12lf\n", 123.45);
//	return 0;
//}

//默认情况下， printf() 不对正数显⽰ + 号，只对负数显⽰ - 号。如果想让正数也输出 + 号，可
//以在占位符的 % 后⾯加⼀个 + 。

//int main()
//{
//	printf("%d\n", 123);
//	printf("%+d\n", 123);
//	printf("%+d\n", -123);
//	return 0;
//}

//输出⼩数时，有时希望限定⼩数的位数。举例来说，希望⼩数点后⾯只保留两位，占位符可以写
//成 % .2f 。
// 限定小数宽度和小数位数可以一起限定
//最⼩宽度和⼩数位数这两个限定值，都可以⽤* 代替，通过 printf() 的参数传⼊。
//int main()
//{
//	printf("%.2lf\n", 123.45);
//	printf("%.3lf\n", 123.45);
//	printf("%12.1lf\n", 123.45);  // 小数点后面1位  总宽度12位
//	printf("%*.*f\n",12,1,123.45);  // 
//
//
//
//	return 0;
//}

//% s 占位符⽤来输出字符串，默认是全部输出。如果只想输出开头的部分，可以⽤% .[m]s 指定输出
//的⻓度，其中[m] 代表⼀个数字，表⽰所要输出的⻓度。

//int main()
//{
//	printf("%s\n", "acsdsad");
//	printf("%.3s\n", "acsdsad");//只打印前三个
//		return 0;
//}

//当我们有了变量，我们需要给变量输⼊值就可以使⽤ scanf 函数，如果需要将变量的值输出在屏幕上
//的时候可以使⽤ prinf 函数， scanf函数需要的是地址  & - 是取地址操作符

//int main()
//{
//	int score = 0;
//	printf("请输入你的成绩: ");
//	scanf("%d", &score);
//	printf("成绩是 %d\n", score);
//	return 0;
//}

//在vs上.c/.cpp的文件，新建的时候其实是拷贝了new++file.cpp的内容
//如果在这个文件中加这句话#define  _CRT_SECURE_NO_WARNINGS 1
//以后新建的时候就都有这句话，就能使用scanf函数了
